1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gtk.SymbolicPaintableIF;
26 
27 private import gdk.RGBA;
28 private import gdk.Snapshot;
29 private import gtk.c.functions;
30 public  import gtk.c.types;
31 
32 
33 /**
34  * `GtkSymbolicPaintable` is an interface that support symbolic colors in
35  * paintables.
36  * 
37  * `GdkPaintable`s implementing the interface will have the
38  * [vfunc@Gtk.SymbolicPaintable.snapshot_symbolic] function called and
39  * have the colors for drawing symbolic icons passed. At least 4 colors are guaranteed
40  * to be passed every time.
41  * 
42  * These 4 colors are the foreground color, and the colors to use for errors, warnings
43  * and success information in that order.
44  * 
45  * More colors may be added in the future.
46  *
47  * Since: 4.6
48  */
49 public interface SymbolicPaintableIF{
50 	/** Get the main Gtk struct */
51 	public GtkSymbolicPaintable* getSymbolicPaintableStruct(bool transferOwnership = false);
52 
53 	/** the main Gtk struct as a void* */
54 	protected void* getStruct();
55 
56 
57 	/** */
58 	public static GType getType()
59 	{
60 		return gtk_symbolic_paintable_get_type();
61 	}
62 
63 	/**
64 	 * Snapshots the paintable with the given colors.
65 	 *
66 	 * If less than 4 colors are provided, GTK will pad the array with default
67 	 * colors.
68 	 *
69 	 * Params:
70 	 *     snapshot = a `GdkSnapshot` to snapshot to
71 	 *     width = width to snapshot in
72 	 *     height = height to snapshot in
73 	 *     colors = a pointer to an array of colors
74 	 *
75 	 * Since: 4.6
76 	 */
77 	public void snapshotSymbolic(Snapshot snapshot, double width, double height, RGBA[] colors);
78 }